#if defined (_MSC_VER)
#pragma once
#endif

#ifndef LM_SAMPLER_RANDOM
#define LM_SAMPLER_RANDOM

#include "../core/sampler.h"

class RandomSampler : public Sampler {
public:
	RandomSampler(int xstart, int xend, int ystart, int yend, int spp, bool lns, bool ts);
	~RandomSampler();
	int GetMoreSamples(Sample *sample);
	int RoundSize(int sz) const { return sz; }
	int MaximumSampleCount() { return 1; }
	Sampler *GetSubSampler(int num, int count);
private:
	int nSamples;
	int xPos, yPos;
	int samplePos;
	Point2 *imageSamples;
	Point2 *lensSamples;
	float *timeSamples;
	RNG *rng;
};

#endif	// LM_SAMPLER_RANDOM